IFF-Master

Ein Programm zur Anzeige von IFF-Strukturen Version 1.3

7. Oktober 1994

Kay Drangmeister

Copyright \begin{matrix}c \\ ◯ \end{matrix} 1994 Kay Drangmeister Dieses Dokument wurde erstellt mit ‘texinfo.tex’ und TEX3.14, sowie mit ‘makeguide’. Die deutschen Anpassungen erfolgten durch ‘amigatexinfo.tex’.

1 Einleitung

IFF-Master ist ein Programm, das den Umgang mit IFF-Files erleichtern soll. Es ist kein Bildanzeiger oder ähnliches Programm, sondern es stellt die internen Einheiten (Chunks) der Files dar. Beispielsweise werden die Header von Bildern (ILBM) oder Klängen (8SVX) im Klartextformat aufgeschlüsselt, so daß man die Bildgröße, Farbtiefe oder Sampling-Rate direkt ablesen kann.

Manchmal findet man ein unbekanntes File auf der Platte (z.B. irgend ein Preference-File), wobei man nicht weiß, wozu es dient. Gerade Prefereces werden oft im IFF abgespeichert, so daß ein direktes Betrachten möglich ist. Weiterhin gibt es einige Programme, die defekte IFF-Files schreiben (z.B. der ILBM.CAMG-Chunk), oder andere, die Zusatzinformationen speichern; das Auffinden dieser Fälle ist damit sehr einfach.

In späteren Versionen (siehe Kapitel 6 [History], Seite 7) wird es auch möglich sein, Files zu verändern, z.B. Texte in ANNO-Chunks zu löschen/ändern/zufügen, oder Zusatzinformationen zuzufügen, wie z.B. DPI-Infos für Bilder, u.s.w.

Unter den Features sind:

• MUI-Applikation

• Oberfläche optional in deutsch (ab AmigaOS 2.1)

• Umfangreiche Chunk-Typen-Bibliothek (z.Zt. 37 Form-Typen, 234 bekannte Chunks, davon 60 mit langer Strukturbeschreibung)

• Darstellung der Chunk-Inhalte wahlweise als Struktur, Text oder Hex-Dump

• Auch Bitfelder und Aufzählungstypen erfolgen in Klartext

• Fixpunkt-Werte werden als Dezimalbruch angezeigt (z.B. 8SVX.VHDR.Volume)

• Callback-Hooks für spezielle Attribute möglich, z.B. wird die Mode-ID im CAMG-Chunk als Klartext (z.B. ‘PAL: Hires’) ausgegeben.

IFF-Master wird unter dem Freeware-Konzept vertrieben, es gelten die üblichen Disclaimer.

2 Installation

Gar nichts dabei: einfach alles in einem Verzeichnis lassen, oder den ‘iffmaster.catalog’ optional zu den anderen in das LOCALE-Verzeichnis (‘LOCALE:Catalogs/deutsch/’). Übrigens: Wenn ihr mal nicht wißt, für welche Sprache ein Catalog-File ist, dann schaut doch einfach mit dem IFF-Master nach…:)

Anforderungen an das System sind:

• AmigaOS 2.0, bei lokalisierter Oberfläche AmigaOS 2.1

• MUI Version 2.1 (‘muimaster.library’ V8), siehe Abschnitt 5.1 [MUI], Seite 6.

IFF-Master kann auch schon in der user-startup gestartet werden, dafür empfiehlt sich ‘runback iffmaster iconified’, so daß nur ein AppIcon auf der Workbench entsteht. IFF-Icons lassen sich dann einfach auf dieses Icon ziehen.

3 Bedienung

Das Hauptfenster ist in 3 Gruppen unterteilt, oben befindet sich die File-Spezifikation, in der Mitte die Chunk-Liste und darunter die Aktionen.

In der jetzigen Version sind nur wenige Manipulationen an Files möglich, so daß einige diesbezüglichen Buttons (z.B. ‘Zufügen’, ‘Editieren’) inaktiv sind. Bewegen (‘Hoch’, ‘Runter’) und ‘Löschen’ von Chunks ist jedoch möglich. Manipulationen an Files (speziell Löschen von Chunks) sind gefährlich, weil eventuell wichtige Informationen verloren gehen oder nicht gefunden werden. Z.B. wird ein Bild, dessen ILBM/BMHD-Chunk gelöscht wird, garantiert unlesbar. Um die File-Manipulations-Gadgets zu aktivieren, schalte im Menü ‘Einstellungen/File veränderbar’ ein. Sollte dieser Menüpunkt inaktiv sein (für Anfänger, die sich über die Funktionen des Programms nicht im klaren sind), kann er in den Einstellungen aktiviert werden, indem der

‘File-veränderbar-Schalter’ auf ‘aus für neue Files’ oder auf ‘unverändert’ geschaltet wird.

3.1 File-Spezifikation

Ein File kann auf verschiedene Weise geladen werden. Entweder über den ‘Projekt/Öffnen’- Menüpunkt bzw. über das Popup-Gadget neben dem String-Gadget, wobei ein File-Requester geöffnet wird, oder man zieht einfach ein Icon in das Hauptfenster von IFF-Master (AppWindow). Außerdem kann ein File auch direkt aus dem Clipboard geladen werden, und zwar über den

Menüpunkt ‘Projekt/Clip öffnen’.

3.2 Die Chunk-Liste

In der Chunk-Liste können verschiedene Informationen angezeigt werden: ganz links steht die Chunk-ID (z.B. BMHD), dann der Chunk-Typ (z.B. ILBM), und dann zunächst die Größe. Unter den Aktions-Buttons befindet sich ein Cycle-Gadget ‘Zeigen’, das das Listenformat festlegt, dabei bedeutet ‘Beschreibung’ eine Kurzbeschreibung des Chunks (z.B. ‘Bitmap Header’) und ‘Inhalt’ liefert einen kurzen Abriß des Inhaltes. Mit der LEERTASTE kann das Cycle-Gadget weitergeschaltet werden.

Da in einer Zeile nicht der komplette Chunk-Inhalt dargestellt werden kann, ist auch eine lange Beschreibung möglich. Dazu muß eine Zeile aus der Liste angewählt und ‘Info’ gedrückt werden (oder Doppelklick auf die Zeile). Es erscheint dann ein neues Fenster mit dem Inhalt. Die Darstellung des Inhalts ist entweder als Struktur, Text, oder Hex-Dump möglich, die Auswahl erfolgt durch das über der Inhalts-Liste vorhandene Register, oder über die Tasten CURSOR-LINKS und

CURSOR-RECHTS.

Um den Inhalt eines anderen Chunks anzuzeigen, muß das Inhalts-Fenster nicht geschlossen werden. Einfach auf einen anderen Chunk geklickt (oder CURSOR-HOCH/CURSOR-RUNTER, nachdem die Chunk-Liste mittels TAB angewählt wurde) und schon wird der neue Inhalt dargestellt, und zwar mit dem dafür vorgesehenen Datentyp.

4 Probleme?

Wenn der Inhalt eines sehr großen Chunks (z.B. ILBM.BODY) angezeigt werden soll, dauert der Aufbau des Hex-Dumps sehr lange. Deshalb ist es möglich, die Länge des Hex-Dumps zu begrenzen, als Default sind 512 Bytes eingestellt. In den Einstellungen kann man diese Grenze verändern oder auch ganz abschalten.

Manche Chunks (z.B. FORM) sind Container-Chunks und haben keinen Inhalt, es erfolgt deshalb auch keine Darstellung. Bei manchen Chunks (z.B. BODY) ist eine Darstellung als Struktur oder Text sinnlos, die entsprechenden Listen sind dann inaktiv.

5 Danksagung

Mein besonderer Dank geht an:

Stefan Stuntz für MUI, siehe Abschnitt 5.1 [MUI], Seite 6.

Eric Totel für MUI-Builder

Kai Iske für die Anregungen und Betatesting

Thomas Reinhardt für seine IFFs

H. Phil Duby

Klaus Seistrup für Bug-Reports und Anregungen

5.1 MUI

                               This application uses

                             MUI - MagicUserInterface
                     (c) Copyright 1993/94 by Stefan Stuntz

     MUI is a system to generate and maintain graphical user interfaces. With
     the  aid  of  a  preferences program, the user of an application has the
     ability to customize the outfit according to his personal taste.
     MUI is distributed as shareware. To obtain a complete package containing
     lots of examples and more information about registration please look for
     a  file  called  "muiXXusr.lha"  (XX means the latest version number) on
     your local bulletin boards or on public domain disks.
               If you want to register directly, feel free to send

                              DM 30.-  or  US$ 20.-
                                       to
                                  Stefan Stuntz
                             Eduard-Spranger-Straße 7
                                  80935 München
                                     GERMANY

6 History

Version 1.0

Erstveröffentlichung Version 1.1

FIX Version 1.0 war mit Option 68030 compiliert - Sorry! NEU viele neue Chunk-Typen registriert NEU Menü (About und Prefs in’s Menü verfrachtet, Platzgewinn) NEU Filename kann per Kommando-Zeile übergeben werden NEU Laden direkt vom Clipboard NEU Tastaturunterstützung verbessert

Version 1.2 NEU Oberfläche vollständig lokalisiert NEU Speichern von Chunk-Inhalten NEU AppWindow und AppIcon, Kommando-Zeilen-Option iconified NEU bessere Formatierungsmöglichkeiten für Struktureinträge NEU Eigener Interpreter mit Variablenrechnung, damit sind auch abstruse Formate wie

EMOD.EMIC darstellbar. NEU Nominallänge für Chunks ist jetzt vorgegeben, eine Meldung erfolgt, wenn ein

Chunk länger oder kürzer ist. BUG Betatester haben von Problemen mit der De-Iconify-Funktion beim AppIcon be-

richtet. Ich habe die entsprechende Funktion auskommentiert, so daß nach dem "droppen" die Applikation durch einen Doppelklick wieder de-iconifiziert werden muß.

Version 1.3 BUG Close-Gadget im Einstellungs-Fenster funktioniert BUG Gadget-Aktivierung (TAB) klappt jetzt in jedem Fenster

NEU Neue Chunk-Typen: IAND,IANM,DR2D,RGB8,RGBN,SPLT

NEU Hex-Zahlen erhalten eine (einstellbare) Kennung, Darstellung von Hex-Dumps ist

mehr als 3 mal so schnell geworden NEU Speichern von IFFs ist jetzt möglich, auch von verschachtelten FORMs, z.B. Bilder

aus Animationen NEU Einige Edit-Operationen eingebaut (Chunks löschen)

NEU Einstellungen sind jetzt speicherbar

Ich nehme sehr gerne Verbesserungsvorschläge und neue Ideen an. Wenn ihr auf ‘unbekannte’ Chunks stoßt, gebt mir bitte auch bescheid, damit ich sie mit reinnehmen kann, wenn noch eine Strukturbeschreibung dabei wäre, wäre das wirklich genial. Falls jemand Lust hat, einen Katalog für eine andere Sprache zu schreiben, schicke ich ihm gerne das ct-File zu.

7 Chunks

Folgende Chunks sind IFF-Master zur Zeit bekannt:

[überall]
     CSET, FVER, ANNO, AUTH, CHRS, hlid, NAME, TEXT, (c)
3DDD

obje

8SVX
     ATAK, body, CHAN, FADE, PAN , RLSE, SEQN, VHDR
ANIM

ansq

AVCF

avfh, gdat

AVCO

cdat, flag, imag

AVEV

acts, cdat, flag, imag, pars, refl

COPR

copi, wait, move

CTLG

LANG, strs

DEEP

dbod, dgbl, dloc, dpel

DR2D
     ATTR, CMAP, CPLY, DASH, DRHD, FONS, OPLY
DTYP

dthd, dtcd

EMOD

8smp, EMIC, patt

ENVL

LFOI, coen, voen, pien, noen, reen, phen

FAX3

fxhd, gphd, page

FAXX

fxhd, gphd, page

FTXT

fons

IAND

bpct, CMAP, body

IANM
BMHD, CAMG, body
ILBM

ANHD, asdg, bhcp, bhsi, BMHD, body, CAMG, CCRT, CLUT, CMAP, CRNG, DEST, dlta, dmmy, DPAN, DPI , dpps, DPPV, drng, FFEX, fitr, fxd2, fxpl, GRAB, junk, mand, SPRT

ISTG

maxf, sobj

KCXM

VERS, pref

LWOB

pnts, pols, SRFS, surf

MTRX

arry, body, dtyp, stru

PREF

alrt, conf, ctry, evnt, etxt, flop, font, ictl, inpt, keys, lcle, menu, midi, oper, oscn, palt, path, pdat, pntr, prhd, pgfx, pspd, ptrn, ptxt, punt, scrm, serl, shmn, sond, tmac, tmdo, tmex, tmic, tmim, tmmo, tmso, VERS, wbcf, wbpc, xdos

PTCH

inpf, outf, pseq, vers

REAL

rani, ratt, rmtr, robj, rscr, rset, rvrs, rwin

RGB8
BMHD, body, CAMG, CMAP, imrt
RGBN
BMHD, body, CAMG, CMAP, imrt
SC3D

edge, face, hier, lamp, lnam, obsv, path, vert, vnam, wrld

SMUS
SHDR, INS1, inst, snx1, TRAK
SPLT

INFO, body

TACF

tpar, tpbr, tpca, tpcm, tpma, tpp1, TPPA, tppx, tpsc, tpse, VERS

TAKE

tfrm, thdr

TDDD

info, obj

TERM

clip, COMD, cptr, date, dial, emln, fast, FILE, misc, MODM, PATH, PHON, recv, SCRN, send, SERL, SOUN, spek, trml, trns, VERS, winf, wind, XFER

TVP2
     TVRX
VILL

crc , mode, moni, VER

Zu den kleiner gedruckten Chunks suche ich noch Beschreibungen.

8 Autor

Kay Drangmeister Am Hubland 16, Apt. 1323 97074 Würzburg T. 0931-702079 (Tag+Nacht) kay@cip.informatik.uni-wuerzburg.de K.Drangmeister@insider.sub.de Kapitel 9: Stichwortverzeichnis 13

9 Stichwortverzeichnis

8

8SVX.VHDR.Volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

A

Aktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 AppIcon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 AppWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Autor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

B

Bedienung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

C

Chunk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chunk-ID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Chunk-Liste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Chunk-Typ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Chunks ohne Inhalt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Chunks, bekannte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Container-Chunks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

D

Danksagung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Darstellung des Chunk-Inhalts . . . . . . . . . . . . . . . . . . . . . . 3

E

Editieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Einstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Einstellungen/File veränderbar . . . . . . . . . . . . . . . . . . 3

EMOD.EMIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

F

File-Spezifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

File-veränderbar-Schalter. . . . . . . . . . . . . . . . . . . . . . . . 3

Filemanipulationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

H

Hex-Dump. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Hoch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

I

iconified . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 ILBM.CAMG.ModeID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

K

Kurzbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Kurzinhalt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

L

Löschen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Listenformat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

M

Manipulationen von Files . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 MUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

P

Probleme? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

R

Runter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

T

TAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

V

Verändern des Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Z

Zeigen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Zufügen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Inhaltsverzeichnis

1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 Bedienung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3.1 File-Spezifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2 Die Chunk-Liste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4 Probleme?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 Danksagung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

5.1 MUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

6 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 Chunks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 8 Autor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 9 Stichwortverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13